#ifndef AABB_H
#define AABB_H

#include "../tool/vectorf.h"
#include "enveloppe.h"
#include "boundingsphere.h"
/*!
 *  \class AABB
 *  \brief Représente une Axis Aligned Bounding Box, ou boite englobante, utilisé pour la détection de collisions
            Une AABB est donc une boite, dont on définit min, qui correspond au coin supérieur gauche, et max,
            le coin supérieur droit
 */

class AABB : public Enveloppe
{
    public:

    Vectorf * min;
    Vectorf * max;

    AABB(Vectorf * aMin, Vectorf * aMax);
    AABB(Vectorf * aMin, Vectorf * aMax, Vectorf * aTranslation);

    virtual int Collide(Enveloppe * env);

    int SegmentAABBCollisionDetection(Vectorf * u, Vectorf * vertex);

};

#endif // AABB_H
